Computerized devices such as computer systems, workstations, data communications devices (e.g., routers, switches, hubs, and the like) or other electronic devices are typically programmable. That is, they typically include configurable state information within the device that controls an aspect of operation. As an example, a computerized device may include programmable ports for communicating with a peripheral device attached via a cable.
Certain ports of programmable computerized devices are configured depending on the type of device attached to the port. For example, a USB (Universal Serial Bus) port of a PC (Personal Computer) typically may support communication with one of many different types of devices by configuring itself to communicate depending on the type of peripheral device (such as a camera, printer, etc.) attached to the port. Typically the device is attached to the port via a cable. In practice, after a peripheral device is plugged into the USB port, the PC device receives a code from the peripheral device identifying its type (e.g., whether it is a camera or a printer). In response, the PC searches for a device driver to configure the port for communicating with the detected type of peripheral device. If the device driver is not stored locally, the PC may prompt a user to visit a website from which an appropriate device driver may be downloaded to program the port for communication with the peripheral device.
Ports of a network device such as a router are typically programmable to support communication with other attached devices through corresponding network cables. One method of programming communication ports is to employ a network administrator to physically identify types of peripheral devices connected to the network device. Thereafter, the network administrator manually programs the ports of the network device accordingly to support future communications with the peripheral devices.